package com.ruoyi.bizsys.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户借据延期记录order对象 loan_deferred_order
 *
 * @author wqg
 * @date 2022-06-09
 */

@Data
public class LoanDeferredOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**状态1成功**/
    public static final int STATUS_SUCCESS = 1;//1成功
    /**状态0失败**/
    public static final int STATUS_FAILED = 0;//0失败
    /**状态9申请中**/
    public static final int STATUS_WAIT = 9;//9申请中



    @TableId(type = IdType.AUTO)
    private Long id;

    @Excel(name = "客户号")
    private String custNo;

    /**
     * 延期还款订单流水号
     */
    private Long loanDeferOrderNo;

    /**
     * 贷款流水号
     */

    @Excel(name = "贷款流水号")
    private String loanSerialNo;
    /**
     * 子借据号
     */
    @Excel(name = "子借据号")

    private Long loanSerialDeferredNo;

    /**获取钱包流水号**/
    private String walletNo;

    private String actionType;


    /**
     * 产品id
     */

    @Excel(name = "产品id")

    private Long productId;


    /**
     * 延期产品包id
     */

    @Excel(name = "延期产品包id")
    private long productDeferredId;


    /**
     * 延期产品ID
     */

    @Excel(name = "延期产品ID")

    private String productCode;


    /**
     * 延期产品等级对应customer_info-credit_rating
     */

    @Excel(name = "延期产品等级对应customer_info-credit_rating")

    private String creditRating;


    /**
     * 延期产品利率
     */

    @Excel(name = "延期产品利率")

    private BigDecimal interestRate;


    /**
     * 延期产品服务费率
     */

    @Excel(name = "延期产品服务费率")

    private BigDecimal serviceRate;


    /**
     * 单次延期天数
     */

    @Excel(name = "单次延期天数")

    private Integer numDeferredDay;


    /**
     * 延期期数
     */
    @Excel(name = "延期期数")
    private Integer numDeferredTimes;


    /**
     * 延期产品保留天数
     */

    @Excel(name = "延期产品保留天数")

    private Integer numDeferredRetainDay;


    /**
     * 延期还款最低本金
     */

    @Excel(name = "延期还款最低本金")

    private BigDecimal minRepayPrincipal;


    /**
     * 延期还款最高本金
     */

    @Excel(name = "延期还款最高本金")

    private BigDecimal maxRepayPrincipal;


    /**
     * 延期产品过期时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "延期产品过期时间", width = 30, dateFormat = "yyyy-MM-dd")

    private Date expireTime;


    /**
     * 用户层面的激活未激活：0未激活1已经激活
     */

    @Excel(name = "用户层面的激活未激活：0未激活1已经激活")

    private Integer showIsActive;


    /**
     * 支付金额
     */

    @Excel(name = "支付金额")

    private BigDecimal repayAmt;


    /**
     * 放款本金
     */

    @Excel(name = "放款本金")

    private BigDecimal loanPrincipal;


    /**
     * 已还本金
     */

    @Excel(name = "已还本金")

    private BigDecimal repaidPrincipal;


    /**
     * 服务费
     */

    @Excel(name = "服务费")

    private BigDecimal serviceFee;


    /**
     * 已还服务费
     */

    @Excel(name = "已还服务费")

    private BigDecimal repaidServiceFee;


    /**
     * 总利息
     */

    @Excel(name = "总利息")

    private BigDecimal loanInterest;


    /**
     * 已还总利息
     */

    @Excel(name = "已还总利息")

    private BigDecimal repaidInterest;


    /**
     * 滞纳金
     */

    @Excel(name = "滞纳金")

    private BigDecimal lateFee;


    /**
     * 已还滞纳金
     */

    @Excel(name = "已还滞纳金")

    private BigDecimal repaidLateFee;


    /**
     * 服务费
     */

    @Excel(name = "服务费")

    private BigDecimal deferredServiceFee;


    /**
     * 已还服务费
     */

    @Excel(name = "已还服务费")

    private BigDecimal deferredRepaidServiceFee;


    /**
     * 总利息
     */

    @Excel(name = "总利息")

    private BigDecimal deferredInterestFee;


    /**
     * 已还总利息
     */

    @Excel(name = "已还总利息")

    private BigDecimal deferredRepaidInterestFee;

    @Excel(name = "cardId")
    private String cardId;

    /**
     * 状态9申请中，0失败，1成功
     */

    @Excel(name = "状态9申请中，0失败，1成功")

    private Integer status;


    /**
     * 状态0失效1启用
     */

    @Excel(name = "状态0失效1启用")

    private String state;


    /**
     * 备注
     */

    @Excel(name = "备注")

    private String remark;


    /**
     * 创建者
     */

    @Excel(name = "备注")

    private String createBy;


    /**
     * 创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")

    private Date createTime;


    /**
     * 更新者
     */

    @Excel(name = "备注")

    private String updateBy;


    /**
     * 更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")

    private Date updateTime;

}